<?xml version="1.0"?>
<!--
  ~ Copyright 2004-2012 ICEsoft Technologies Canada Corp.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the
  ~ License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an "AS
  ~ IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  ~ express or implied. See the License for the specific language
  ~ governing permissions and limitations under the License.
  -->

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ace="http://www.icefaces.org/icefaces/components" 
    xmlns:ice="http://www.icesoft.com/icefaces/component" 
    xmlns:icecore="http://www.icefaces.org/icefaces/core"
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    template="/resources/templates/content-template.xhtml">
    
    <ui:param name="title" value="#{msgs[dataTableHide.title]}"/>
    <ui:param name="description" value="#{msgs[dataTableHide.description]}"/>
    <ui:param name="resourceValue" value="#{dataTableHide.exampleResource}"/>
    
    <ui:param name="wikiResources" value="#{compatComponentsResources.wikiResources}"/>
    <ui:param name="tldResources" value="#{compatComponentsResources.tldResources}"/>
    
    <ui:define name="example">
        <h:form>
            <icecore:singleSubmit/>
            <h:panelGrid columns="2">
                <h:outputLabel for="idIn" value="ID Column?"/>
                <h:selectBooleanCheckbox id="idIn" value="#{dataTableHide.renderId}"/>
                
                <h:outputLabel for="nameIn" value="Name Column?"/>
                <h:selectBooleanCheckbox id="nameIn" value="#{dataTableHide.renderName}"/>

                <h:outputLabel for="chassisIn" value="Chassis Column?"/>
                <h:selectBooleanCheckbox id="chassisIn" value="#{dataTableHide.renderChassis}"/>

                <h:outputLabel for="weightIn" value="Weight Column?"/>
                <h:selectBooleanCheckbox id="weightIn" value="#{dataTableHide.renderWeight}"/>

                <h:outputLabel for="accelIn" value="Acceleration Column?"/>
                <h:selectBooleanCheckbox id="accelIn" value="#{dataTableHide.renderAcceleration}"/>

                <h:outputLabel for="mpgIn" value="MPG Column?"/>
                <h:selectBooleanCheckbox id="mpgIn" value="#{dataTableHide.renderMpg}"/>

                <h:outputLabel for="costIn" value="Cost Column?"/>
                <h:selectBooleanCheckbox id="costIn" value="#{dataTableHide.renderCost}"/>
            </h:panelGrid>
            
            <h:commandButton value="Show All"
                             actionListener="#{dataTableHide.showAll}"/>
            <h:commandButton value="Hide All"
                             actionListener="#{dataTableHide.hideAll}"/>
        </h:form>
    
        <h:form>
            <ice:dataTable value="#{dataTableHide.cars}"
                           var="car"
                           rows="#{dataTableHide.rows}"
                           width="100%" cellspacing="1" cellpadding="5"
                           columnClasses="tableIdCol,tableNameCol,tableChassisCol,
                                          tableWeightCol,tableAccelCol,tableMpgCol,tableCostCol">
                <ice:column rendered="#{dataTableHide.renderId}">
                    <f:facet name="header">
                        ID
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderId}"
                                                          value="#{!dataTableHide.renderId}"/>
                        </h:commandButton>
                    </f:facet>
                    #{car.id}
                </ice:column>
                <ice:column rendered="#{dataTableHide.renderName}">
                    <f:facet name="header">
                        Name
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderName}"
                                                          value="#{!dataTableHide.renderName}"/>
                        </h:commandButton>
                    </f:facet>
                    #{car.name}
                </ice:column>
                <ice:column rendered="#{dataTableHide.renderChassis}">
                    <f:facet name="header">
                        Chassis
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderChassis}"
                                                          value="#{!dataTableHide.renderChassis}"/>
                        </h:commandButton>
                    </f:facet>
                    #{car.chassis}
                </ice:column>
                <ice:column rendered="#{dataTableHide.renderWeight}">
                    <f:facet name="header">
                        Weight
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderWeight}"
                                                          value="#{!dataTableHide.renderWeight}"/>
                        </h:commandButton>
                    </f:facet>
                    #{car.weight}lbs.
                </ice:column>
                <ice:column rendered="#{dataTableHide.renderAcceleration}">
                    <f:facet name="header">
                        Accel
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderAcceleration}"
                                                          value="#{!dataTableHide.renderAcceleration}"/>
                        </h:commandButton>
                    </f:facet>
                    #{car.acceleration}
                </ice:column>
                <ice:column rendered="#{dataTableHide.renderMpg}">
                    <f:facet name="header">
                        MPG
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderMpg}"
                                                          value="#{!dataTableHide.renderMpg}"/>
                        </h:commandButton>
                    </f:facet>
                    #{car.mpg}
                </ice:column>
                <ice:column rendered="#{dataTableHide.renderCost}">
                    <f:facet name="header">
                        Cost
                        <h:commandButton image="resources/css/images/popup-close.png"
                                         alt="Hide" title="Hide"
                                         style="height: 11px; width: 11px;"
                                         action="#{dataTableHide.toggleColumn}"
                                         immediate="true">
                             <f:setPropertyActionListener target="#{dataTableHide.renderCost}"
                                                          value="#{!dataTableHide.renderCost}"/>
                        </h:commandButton>
                    </f:facet>
                    <ice:outputText value="#{car.cost}">
                        <f:convertNumber type="currency"
                                         currencySymbol="$"
                                         groupingUsed="true"
                                         minFractionDigits="2"
                                         maxFractionDigits="2"/>
                    </ice:outputText>
                </ice:column>
            </ice:dataTable>
        </h:form>
    </ui:define>
</ui:composition>
